package dominio.fantasma.estados;

import dominio.comun.IPosicionable;
import dominio.comun.Posicion;
import dominio.laberinto.Laberinto;

public class Cazador extends EstadoFantasma {
	
	
	@Override
	public void iniciar() {	}
	
	@Override
	public void convertirEnPresa() {
		this.getFantasma().setEstadoFantasma(this.getEstadoFantasmaSiguiente());
	}

	@Override
	public void matar() {
		System.out.println("Soy Cazador y no puedo morir");
		//nuevo -> Asi que me queres matar, yo soy cazador y te mato a vos
		Laberinto.getInstance().getPacman().matar((IPosicionable)this.getFantasma());
	}

	@Override
	public void molestar() {
		if (this.getAgresividad() < MAXIMO_AGRESIVIDAD){
			this.setAgresividad(this.getAgresividad() + INCREMENTO_AGRESIVIDAD);
		}
		System.out.println("Me molestaste y ahora tengo agresividad " + this.getAgresividad());
	}
	
	@Override
	public void mover(Posicion posicionActual){
		System.out.println("Soy Cazador y me muevo con nivel de agresividad " + this.getAgresividad());
		
		Posicion dondeMover =  this.getFantasma().getEstrategiaMovimiento().aDondeMeMuevo(this.getFantasma(), true);
		this.getFantasma().setPosicion(dondeMover);
		
	}
		
	public String toString(){
		return "Cazador";
	}
	
}
